package com.dd.cloud.user.req.phar;

import com.dd.cloud.common.enums.PharEnum;
import com.dd.cloud.common.exception.ZekeException;
import lombok.Data;

/**
 * 药房公共参数
 *
 * @author zk
 */
@Data
public class PresDetail {
    /**
     * 处方编码 患者处方表
     */
    private String tencode;

    /**
     * 患者姓名 必填
     */
    private String name;

    /**
     * 性别
     */
    private String sex;

    /**
     * 年龄 必填
     * 传入字符串，数字请传入大
     * 于 0 小于 130 的数字
     */
    private String age;

    /**
     * 药品总味数 必填
     * 该处方一共有多少味药(如这个处方
     * 有 3 味药:党参，丹参，石斛) 请传
     * 入数字
     */
    private Integer drugcount;

    /**
     * 症状
     */
    private String symptomList;

    /**
     * 疾病
     */
    private String disease;

    /**
     * 就诊卡id
     */
    private String medId;

    /**
     * 设置药房对应的参数
     *
     * @param pharEnum 药房的枚举
     * @return 药房实际参数
     */
    public static PresDetail getPharParam(PharEnum pharEnum) {
        PresDetail presDetail;
        switch (pharEnum) {
            //宏济堂药房的参数
            case HJT:
                presDetail = new PresHjtDetailReq();
                break;
            //大参林药房的参数
            case DSL:
                presDetail = new PresDslDetailReq();
                break;
            default:
                throw new ZekeException(400, "未知药房");
        }
        return presDetail;
    }

}
